import Vue from 'vue';
import axios from 'axios';
// import router from '@/router';
import {
  Message,
} from 'element-ui'

// 超时时间
axios.defaults.timeout = 100000
// 非生产环境 && 开启代理, 接口前缀统一使用[/api]前缀做代理拦截!
const BASE_URL = process.env.NODE_ENV == 'production' ? process.env.VUE_APP_BASE_API : process.env.VUE_APP_SERVER_URL
// 对面暴露的基础请求路径
axios.BASE_URL = BASE_URL

/*
  请求拦截
*/
axios.interceptors.request.use(config => {
  // 请求头带上token
  console.log(Vue)
  config.headers.token = Vue.cookie.get('token')
  // 请求地址处理
  config.url = BASE_URL + config.url
  return config
}, error => {
  return Promise.reject(error);
})

/**
 * 响应拦截
 */
axios.interceptors.response.use(response => {
  if (response.data && response.data.success === false) {
    Message({
      message: response.data.msg,
      type: 'error',
      showClose: true,
      dangerouslyUseHTMLString: true,
      duration: 3000,
      customClass: 'zZindex'
    })
  }
}, error => {
  // Message({
  //   message: "错误",
  //   type: 'error',
  //   showClose: true,
  //   duration: 5000,
  //   customClass: 'zZindex'
  // })

  return Promise.reject(error)
})

export default axios